Populating documents with user-related information

ABSTRACT

One or more techniques and/or systems are disclosed for generating a document pre-populated with user-based information. A user&#39;s authorized social network can be mined for user-based information. The user-based information mined from the user-authorized social network can be added to a document template at locations in the template of one or more information identifiers in order to generate the pre-populated document. The one or more information identifiers can be used to identify the user-based information on the user authorized social network.

RELATED APPLICATIONS

This application is a continuation of and claims priority benefit toU.S. application Ser. No. 12/961,698, filed Dec. 7, 2010, now issued asU.S. Pat. No. 9,652,447, all of which is incorporated herein byreference in its entirety.

BACKGROUND

Social networks are used by online users to share information withpeople and other entities. The social network user can typically choosewho to share the information with, sometimes broadcasting theinformation across all connections, or limiting the sharing a desiredset of contacts. Further, the social network user can provide aplurality of information that is stored by the social network, such asthe user's identification, contact information, updates, comments,images, documents, activities, and as much or as little else as may bedesired. These social networks are becoming increasingly important andpopular, and are changing the way people share information with others.The sharing and collaborative creation of information in the form oftypical common business-type documents (e.g., word processing,spreadsheets, presentation documents, etc.) is not used by socialnetworks, however, and the traditional behavior of emailing documentfiles is instead the dominant form of sharing of such content.

SUMMARY

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key factors oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter.

There is an abundance of data stored by social networks that may berelevant to certain types of documents, but there is not a simple way toimport the data from the social network into a document using existingtools. For example, when a user creates a document that comprises theirname, contact information, and/or other relevant information (e.g.,education and employment for a resume) they usually have to retrieve theinformation from a source, and enter it into a document template or onecreated from scratch.

Currently, a user may create a document template that comprises relevantinformation, and use this template to generate the desired document.However, the document is limited to merely that template, and if therelevant information changes the template is no longer useful, and/orthe user may have to re-enter the information. Further, there are nocurrent tools that allow the user to import relevant data over a varietyof document templates, for example, where the type of data is constant,but the actual information may change (e.g., the user's contact relatedinformation, images, documents, etc.).

Accordingly, one or more techniques and/or systems are disclosed thatallow users to generate documents of various types that arepre-populated with data pulled from their social networks. For example,the data might include items from their profile, friends' profiles,groups they are part of etc. After document creation and, perhaps, editsby the user, the document might be shared with other users via privatemessaging, published social network stream entry, and/or uploaded to acloud-based storage that provides access to the user's contacts, such asfor collaboration and/or interaction with the document, for example

As an example, starting from a document template that contains text,formatting, graphics, formulas etc., relevant data can be imported onbehalf of a user from a social network, such as by using one or moreapplication programming interfaces (APIs). The data can be used topopulate various fields in the template, resulting in creation of a newpre-populated document. Optionally, for example, the user may utilizetypical editing tools to further customize the document, and then sharethe document with other users of the social network.

In one embodiment, for generating a document pre-populated withuser-based information, user-based information can be added to adocument template at locations of one or more information identifiers inthe document template to generate the pre-populated document. Theuser-based information added to the template can correspond to the oneor more information identifiers, and is retrieved from a user-authorizedsocial network.

To the accomplishment of the foregoing and related ends, the followingdescription and annexed drawings set forth certain illustrative aspectsand implementations. These are indicative of but a few of the variousways in which one or more aspects may be employed. Other aspects,advantages, and novel features of the disclosure will become apparentfrom the following detailed description when considered in conjunctionwith the annexed drawings.

DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flow diagram of an exemplary method for generating adocument pre-populated with user-based information.

FIG. 2 is a flow diagram of an example embodiment where one or moreportions of a method for generating a document pre-populated withuser-based information are implemented.

FIG. 3 is a flow diagram illustrating an example embodiment where one ormore techniques described herein may be implemented.

FIG. 4 illustrates an example embodiment where one or more techniquesdescribed herein may be implemented.

FIG. 5 is a component diagram of an exemplary system for generating adocument pre-populated with user-based information.

FIG. 6 is a component diagram illustrating an example embodiment whereone or more systems described herein may be implemented.

FIG. 7 is an illustration of an exemplary computer-readable mediumcomprising processor-executable instructions configured to embody one ormore of the provisions set forth herein.

FIG. 8 illustrates an exemplary computing environment wherein one ormore of the provisions set forth herein may be implemented.

DETAILED DESCRIPTION

The claimed subject matter is now described with reference to thedrawings, wherein like reference numerals are used to refer to likeelements throughout. In the following description, for purposes ofexplanation, numerous specific details are set forth in order to providea thorough understanding of the claimed subject matter. It may beevident, however, that the claimed subject matter may be practicedwithout these specific details. In other instances, structures anddevices are shown in block diagram form in order to facilitatedescribing the claimed subject matter.

A method may be devised that provides for creating a document from atemplate that is pre-populated with information a user may normally needto add to the document, such as contact information, user profileinformation, background information, and/or other details that are nottypically included in a template, and/or may change periodically. Forexample, one or more of the user's social networks can be mined foruser-based information, and the mined information can be populated intothe template to provide the pre-populated document. Further, as anexample, the pre-populated document may be shared with the user's one ormore social networks, such as by sharing (e.g., messaging, posting,sharing in newsfeed) a link to the document or uploading it to thesocial network.

FIG. 1 is a flow diagram of an exemplary method 100 for generating adocument pre-populated with user-based information. The exemplary method100 begins at 102 and involves retrieving the user-based informationfrom a user-authorized social network, at 104, where the user-basedinformation corresponds to one or more information identifiers in adocument template. The user-based information is added to the documenttemplate at a location of the one or more information identifiers, at106. The pre-populated document is generated, at 108, using the documenttemplate that is populated with the user-based information. Havinggenerated the pre-populated document, the exemplary method 100 ends at110.

As an example, an abundance of user-related data may be stored by one ormore social networks of a user. Often, a user's social network maycomprise the user's name, contact information (e.g., email, phonenumber, instant message contact, address, etc.), education history,employment history, images, documents, and other relevant informationthat the user may upload, as well as similar information for the user'ssocial network contacts, and/or groups with which they may beassociated. This information may be accessed, for example, andautomatically (e.g., programmatically) plugged into a document templatethat comprises indicators corresponding to the relevant information.

As an illustrative example, a document template can be created, such asa resume template for a word processing application. A resume typicallyincludes the user's name, contact information, education history, andemployment history. In this example, the document template can compriseinformation indicators at locations where the relevant information maybe typically found in a document. An example name information indicatormay be: <firstname><lastname>; and an example address informationindicator may be: <streetaddress>, <city>, <state>, <zipcode>. In thisexample, these indicators can be found at the locations in the template,such as document fields, where a user may typically insert thisinformation in the document, such as the resume.

Further, in this illustrative example, the information that correspondsto the information indicators can be retrieved from one or more of theuser's social networks, such as those that have been authorized by theuser for collection of such information. An authorized social networkmay be mined for the information that corresponds to the indicators inthe template, and retrieved, for example. The retrieved user-relatedinformation can then be filled into the appropriate fields in thetemplate, and the pre-populated document is generated, for example,where the pre-populated resume has the user's name and contactinformation, as well as their education and employment history in theappropriate locations in the document, for example. As an illustrativeexample, the user may provide additional edits to the documents andpublish it as needed.

FIG. 2 is a flow diagram of an example embodiment 200 where one or moreportions of a method for generating a document pre-populated withuser-based information are implemented. At 202, a user selects adocument (e.g., a base document template) they may wish to havepre-populated with user-related information, such as one that is oftenfound in a document processing suite of applications. For example, theuser may wish to create a spreadsheet comprising the user's contacts,and the contacts' profile information.

At 204, the user can be prompted to provide authorization informationfor accessing the social network. For example, when a user accesses asocial network, the site hosting the social network typically promptsthe user to provide a login authorization (e.g., username and password;unless the login information is saved on the user's client machine). Inone embodiment, the user can provide the authorization information sothat the social network site can be contacted and accessed on behalf ofthe user.

At 206, the authorization information can be used to connect with theuser-authorized social network, such as by accessing an applicationprogramming interface (API) used to interface with the social network.For example, a client machine used by the user for generating thedocument can be connected to the Internet, and this connection may beused (e.g., by an application that generates the document) to connectwith the API to interface with the social network. As another example, aremote service (e.g., remote to a user's client machine, providingdocument services) may be connected to the Internet and use thisconnection to interact with the social network.

At 208, a type of user-based information can be identified. For example,a document template 250 can comprise information identifiers, which areassociated with corresponding user-based information. In one embodiment,the information identifiers in the document template 250 can be used tofacilitate identification of the corresponding user-related informationin the user-authorized social network. As an example, an informationidentifier <userprofileimage> may correspond to an image that the useruploaded to the social network for use as their profile image. In thisexample, the user-based information type can comprise an image, and mayfurther comprise the user's profile image.

In one embodiment, the information identifier may comprise an extensionthat can facilitate identification of the user-based information type.For example, the information identifier <userprofileimage.jpg> comprisesthe extension “jpg,” which corresponds to a JPEG image file. As anillustrative example, user-based information may comprise images, text,formatting, graphics, programming code, and/or other types ofinformation that may be inserted into a template to generate apre-populated document, where information of an image may be chosen forinsertion into a template, for example, where an image relatedidentifier, such as “jpg” is identified, for example.

In one embodiment, the interface API may be used to facilitateidentifying the user-based information type. As an example, theinterface API can use the information identifier to identify acorresponding user-based information type on the user-authorized socialnetwork. At 210, a location of the corresponding user-based informationcan be identified on the user-authorized social network. In oneembodiment, the interface API may be used to find the location for thecorresponding user-based information.

At 212, the appropriate user-based information can be retrieved from theuser-authorized social network. In one embodiment, retrieving theuser-based information can comprise pulling the user-based informationfrom the user authorized social network. For example, the user-basedinformation can be pulled from an identified location on the socialnetwork, such as a remote storage server associated with the socialnetwork, using the interface API. In another embodiment, the retrievingthe user-based information can comprise requesting the user-basedinformation from the user authorized social network, such as by sendinga request to, or using, the interface API. In this embodiment, theuser-based information can be received from the user authorized socialnetwork in response to the request.

At 214, the user-based information retrieved from the social network canbe added to the document template 250. In one embodiment, adding theuser-based information to the document template can comprise filling asection of the document template tagged by the information identifierwith the user-based information. For example, the information identifiercan tag or mark a field in the document template that can be filled bythe user-based information. As an illustrative example, a field where auser may insert their education history may be tagged by an identifier<eductionhistory>. Similarly, a profile image of the use may be insertedat a location tagged by an identifier <userprofileimage.jpg>

At 216, the pre-populated document 252 can be generated using theuser-based information filled into the document template, such as filledinto the fields marked or tagged by the information identifiers. Theresulting pre-populated document 252 can comprise a format that the usercan edit, and/or publish, for example. In one embodiment, thepre-populated document can be generated in a format that provides forinteracting with the pre-populated document online without a client sideapplication specific to the document format. For example, the user maygenerate the document in a format that uses a specific application,which may not be available to other users interested in viewing and/orcollaborating on the document. In this embodiment, for example, aplatform agnostic format may be provided, such as using a web-baseddocument platform, that allows other users to view and/or collaborate onthe document without having to load the specific application onto theirrespective client devices.

FIG. 3 is a flow diagram illustrating an example embodiment 300 whereone or more techniques described herein may be implemented. At 302, adocument template can be created that may be utilized when generating adocument pre-populated with user-based information. Creating thedocument template can comprise identifying an origin document, at 304.An origin document may comprise a document type, for example, that auser wishes to populate with information from their social network. Forexample, the origin document may be a resume template, a lettertemplate, a spreadsheet template for contact information, a presentationof images with comments template, a form template, etc. In oneembodiment, the origin document may reside locally on the user's clientmachine. In another embodiment, the origin document may reside remotelyon a server operated by a service provider.

At 306, creating the document template can comprise identifyinginformation in the origin document that may be used for populating withthe user-related information. For example, the origin document cancomprise fields that may be filled in with specific user-relatedinformation, such as name, address, etc. In this example, the fields inthe origin document can be identified. At 308, the location of theinformation fields can be identified in the origin document, andinformation identifiers can be inserted at the identified locations inthe origin document at 310.

At 312, the pre-populated document can be created, as described above,using the document template. In this example embodiment 300, at 314, thepre-populated document can be posted, such as by the user. In oneembodiment, the pre-populated document can be posted to the userauthorized social network. Posting the pre-populated document cancomprise using a social network application programming interface (API)to broadcast a link, for example, to the pre-populated document over thesocial network, at 316. In this way, for example, the pre-populateddocument may be delivered to a desired audience (e.g., connections,other users, etc) using the social network.

As an illustrative example, in an example embodiment 400 of FIG. 4, adocument template 402 can be created, such as for a resume. In thisexample 400, the document template comprises information fields 404tagged with respective information identifiers (contact info, education,and employment). Further, the user-authorized social network 406 may bemined for the corresponding user-related information 408, and thepre-populated document 410 can be created. In this example, thepre-populated document 410 comprises the user-related information 408populated in the information fields 412 at the corresponding locations.

In one embodiment, the API may be used to post to a user's stream in thesocial network, at 318. For example, social networks typically allow auser to update their status, and/or provide commentary on something ofinterest to the user. In this example, the user may select thepre-populated document for sharing in the user's stream of the socialnetwork, such as a newsfeed or blog. In another embodiment, the API maybe used for messaging to one or more connections in the user authorizedsocial network, where a message comprises a link to the pre-populateddocument, at 320. As an example, a message can be created that comprisesa link to the pre-populated document, and the user can send the messageto one or more desired contacts.

In another embodiment, the user can post the pre-populated document bymaking the document accessible to one or more connections in theuser-authorized social network, at 322. For example, the user may uploadthe pre-populated document to a cloud-based server. In this example,some social networks allow for users to make the saved documentaccessible to other users, such as by authorizing desired users to view,and/or interact with a shared directory or folder comprising the file.In this way, for example, the user is able to provide the pre-populateddocument to as many other users as they wish (e.g., on the user'sclient, and/or a remote server).

In one embodiment, when generating the pre-populated document, thedocument can be created in a format that provides for interacting withthe pre-populated document online without a client side applicationspecific to the document format. For example, as described above, thepre-populated document can be posted for interaction by desired users.However, not all of the desired users may have an application availableon their client that allows for interaction with the document (e.g., aparticular word processing application). In this embodiment, forexample, the pre-populated document can be posted to an Internet-basedservice that allows users to view and interact with the document withouthaving the supporting application resident on their machines (e.g., aweb-based word processing service).

A system may be devised for pre-populating document with user desiredinformation that may not be included in a template document.User-related information may be mined from one or more of the user'ssocial networks, and the mined information can be populated into thetemplate to provide the pre-populated document, for example, using sucha system. Further, as an example, the system may be used to share thepre-populated one or more of the user's social network contacts, such asby sharing (e.g., messaging, posting, sharing in newsfeed) a link to thedocument and/or uploading it to the social network.

FIG. 5 is a component diagram of an exemplary system 500 for generatinga document pre-populated with user-based information. A computer-basedprocessor 502 is configured to process data for the system. A documenttemplate 504 comprises one or more information identifiers that areassociated with user-based information from a user-authorized socialnetwork 550. The document template 504 can be populated with theuser-based information from the user authorized social network 550 atone or more information identifiers. The processor 502 is operablycoupled with a document population component 506. The documentpopulation component 506 is also operably coupled with the documenttemplate 504, in order to populate the document template 504 with theuser-based information from the user authorized social network 550 atthe one or more information identifiers.

FIG. 6 is a component diagram illustrating an example embodiment 600where one or more systems described herein may be implemented. In oneembodiment, a user-authorized social network 650 comprises user-basedinformation 620. The user-based information can comprise user-relatedidentification information (e.g., user and or other contact's name,username, other identifiers, etc.); user-related contact information(e.g., user and or other contact's address, phone number(s), emailaddress, instant message contact, etc.); user-related employmentinformation (e.g., user and or other contact's employment history,etc.); user-related education information (e.g., user and or othercontact's education history, etc.); user-related profile information(e.g., user and or other contact's interests, user details, etc.);user-related activity information (e.g., user and or other contact'sactivities one the social network, updates, etc.); a user-relateddocument (e.g., user and or other contact's document uploaded to thesocial network or made available using the social network, etc.); auser-related image (e.g., user and or other contact's images loaded tothe social network, etc.); and/or a user-related comment (e.g., user andor other contact's comments on items or posted to the social network,etc.) as well as any other user-based information.

In one embodiment, the document (e.g., the document template 504, and/orthe pre-populated document 552) can comprise a word processor-baseddocument; a spreadsheet-based document; a presentation-based document;an image editor-based document; a form-based document; an organizerapplication-based document; and an email-based document. Further, in oneembodiment, the document template can comprise an open extensible markuplanguage format (e.g., open XML), and the information identifiers cancomprise a markup tag 610. The markup tag may identify a location in thetemplate to populate with the user-based information, and identify theuser-based information (e.g., an information field for filling with theuser-related information).

In the example embodiment 600, an abstraction layer component 616 can beused to interface the system 600 with the user-authorized social network650. For example, the abstraction layer component 616 can comprise anapplication programming interface (API) provided for interacting withthe social network. Further, the abstraction layer component 616 can beused to identify a location of the user-based information on theuser-authorized social network, and identify a type of user-basedinformation on the user-authorized social network. For example, the APImay be able to match the type of information called for by the markuptags 610 in the document template, and find the location of thecorresponding user-based information 620 in the social network 650.

A document interaction component 614 can provide a client agnosticplatform for interacting with the pre-populated document 652 online. Forexample, the client agnostic platform may comprise an online servicethat allows the user's connections to view and or interact with thepre-populated document 652 without having to load a document specificsupport application to their client machine. A sharing component 618 caninteract with the user-authorized social network 650 to broadcast anaccess to the pre-populated document 652 over the user-authorized socialnetwork 650. For example, the sharing component 618 can provide a linkto the pre-populated document 652 in a user's social network stream,message, and/or upload.

Still another embodiment involves a computer-readable medium comprisingprocessor-executable instructions configured to implement one or more ofthe techniques presented herein. An exemplary computer-readable mediumthat may be devised in these ways is illustrated in FIG. 7, wherein theimplementation 700 comprises a computer-readable medium 708 (e.g., aCD-R, DVD-R, or a platter of a hard disk drive), on which is encodedcomputer-readable data 706. This computer-readable data 706 in turncomprises a set of computer instructions 704 configured to operateaccording to one or more of the principles set forth herein. In one suchembodiment 702, the processor-executable instructions 704 may beconfigured to perform a method, such as at least some of the exemplarymethod 100 of FIG. 1, for example. In another such embodiment, theprocessor-executable instructions 704 may be configured to implement asystem, such as at least some of the exemplary system 500 of FIG. 5, forexample. Many such computer-readable media may be devised by those ofordinary skill in the art that are configured to operate in accordancewith the techniques presented herein.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims.

As used in this application, the terms “component,” “module,” “system”,“interface”, and the like are generally intended to refer to acomputer-related entity, either hardware, a combination of hardware andsoftware, software, or software in execution. For example, a componentmay be, but is not limited to being, a process running on a processor, aprocessor, an object, an executable, a thread of execution, a program,and/or a computer. By way of illustration, both an application runningon a controller and the controller can be a component. One or morecomponents may reside within a process and/or thread of execution and acomponent may be localized on one computer and/or distributed betweentwo or more computers.

Furthermore, the claimed subject matter may be implemented as a method,apparatus, or article of manufacture using standard programming and/orengineering techniques to produce software, firmware, hardware, or anycombination thereof to control a computer to implement the disclosedsubject matter. The term “article of manufacture” as used herein isintended to encompass a computer program accessible from anycomputer-readable device, carrier, or media. Of course, those skilled inthe art will recognize many modifications may be made to thisconfiguration without departing from the scope or spirit of the claimedsubject matter.

FIG. 8 and the following discussion provide a brief, general descriptionof a suitable computing environment to implement embodiments of one ormore of the provisions set forth herein. The operating environment ofFIG. 8 is only one example of a suitable operating environment and isnot intended to suggest any limitation as to the scope of use orfunctionality of the operating environment. Example computing devicesinclude, but are not limited to, personal computers, server computers,hand-held or laptop devices, mobile devices (such as mobile phones,Personal Digital Assistants (PDAs), media players, and the like),multiprocessor systems, consumer electronics, mini computers, mainframecomputers, distributed computing environments that include any of theabove systems or devices, and the like.

Although not required, embodiments are described in the general contextof “computer readable instructions” being executed by one or morecomputing devices. Computer readable instructions may be distributed viacomputer readable media (discussed below). Computer readableinstructions may be implemented as program modules, such as functions,objects, Application Programming Interfaces (APIs), data structures, andthe like, that perform particular tasks or implement particular abstractdata types. Typically, the functionality of the computer readableinstructions may be combined or distributed as desired in variousenvironments.

FIG. 8 illustrates an example of a system 810 comprising a computingdevice 812 configured to implement one or more embodiments providedherein. In one configuration, computing device 812 includes at least oneprocessing unit 816 and memory 818. Depending on the exact configurationand type of computing device, memory 818 may be volatile (such as RAM,for example), non-volatile (such as ROM, flash memory, etc., forexample) or some combination of the two. This configuration isillustrated in FIG. 8 by dashed line 814.

In other embodiments, device 812 may include additional features and/orfunctionality. For example, device 812 may also include additionalstorage (e.g., removable and/or non-removable) including, but notlimited to, magnetic storage, optical storage, and the like. Suchadditional storage is illustrated in FIG. 8 by storage 820. In oneembodiment, computer readable instructions to implement one or moreembodiments provided herein may be in storage 820. Storage 820 may alsostore other computer readable instructions to implement an operatingsystem, an application program, and the like. Computer readableinstructions may be loaded in memory 818 for execution by processingunit 816, for example.

The term “computer readable media” as used herein includes computerstorage media. Computer storage media includes volatile and nonvolatile,removable and non-removable media implemented in any method ortechnology for storage of information such as computer readableinstructions or other data. Memory 818 and storage 820 are examples ofcomputer storage media. Computer storage media includes, but is notlimited to, RAM, ROM, EEPROM, flash memory or other memory technology,CD-ROM, Digital Versatile Disks (DVDs) or other optical storage,magnetic cassettes, magnetic tape, magnetic disk storage or othermagnetic storage devices, or any other medium which can be used to storethe desired information and which can be accessed by device 812. Anysuch computer storage media may be part of device 812.

Device 812 may also include communication connection(s) 826 that allowsdevice 812 to communicate with other devices. Communicationconnection(s) 826 may include, but is not limited to, a modem, a NetworkInterface Card (NIC), an integrated network interface, a radio frequencytransmitter/receiver, an infrared port, a USB connection, or otherinterfaces for connecting computing device 812 to other computingdevices. Communication connection(s) 826 may include a wired connectionor a wireless connection. Communication connection(s) 826 may transmitand/or receive communication media.

The term “computer readable media” may include communication media.Communication media typically embodies computer readable instructions orother data in a “modulated data signal” such as a carrier wave or othertransport mechanism and includes any information delivery media. Theterm “modulated data signal” may include a signal that has one or moreof its characteristics set or changed in such a manner as to encodeinformation in the signal.

Device 812 may include input device(s) 824 such as keyboard, mouse, pen,voice input device, touch input device, infrared cameras, video inputdevices, and/or any other input device. Output device(s) 822 such as oneor more displays, speakers, printers, and/or any other output device mayalso be included in device 812. Input device(s) 824 and output device(s)822 may be connected to device 812 via a wired connection, wirelessconnection, or any combination thereof. In one embodiment, an inputdevice or an output device from another computing device may be used asinput device(s) 824 or output device(s) 822 for computing device 812.

Components of computing device 812 may be connected by variousinterconnects, such as a bus. Such interconnects may include aPeripheral Component Interconnect (PCI), such as PCI Express, aUniversal Serial Bus (USB), firewire (IEEE 1394), an optical busstructure, and the like. In another embodiment, components of computingdevice 812 may be interconnected by a network. For example, memory 818may be comprised of multiple physical memory units located in differentphysical locations interconnected by a network.

Those skilled in the art will realize that storage devices utilized tostore computer readable instructions may be distributed across anetwork. For example, a computing device 830 accessible via network 828may store computer readable instructions to implement one or moreembodiments provided herein. Computing device 812 may access computingdevice 830 and download a part or all of the computer readableinstructions for execution. Alternatively, computing device 812 maydownload pieces of the computer readable instructions, as needed, orsome instructions may be executed at computing device 812 and some atcomputing device 830.

Various operations of embodiments are provided herein. In oneembodiment, one or more of the operations described may constitutecomputer readable instructions stored on one or more computer readablemedia, which if executed by a computing device, will cause the computingdevice to perform the operations described. The order in which some orall of the operations are described should not be construed as to implythat these operations are necessarily order dependent. Alternativeordering will be appreciated by one skilled in the art having thebenefit of this description. Further, it will be understood that not alloperations are necessarily present in each embodiment provided herein.

Moreover, the word “exemplary” is used herein to mean serving as anexample, instance, or illustration. Any aspect or design describedherein as “exemplary” is not necessarily to be construed as advantageousover other aspects or designs. Rather, use of the word exemplary isintended to present concepts in a concrete fashion. As used in thisapplication, the term “or” is intended to mean an inclusive “or” ratherthan an exclusive “or”. That is, unless specified otherwise, or clearfrom context, “X employs A or B” is intended to mean any of the naturalinclusive permutations. That is, if X employs A; X employs B; or Xemploys both A and B, then “X employs A or B” is satisfied under any ofthe foregoing instances. In addition, the articles “a” and “an” as usedin this application and the appended claims may generally be construedto mean “one or more” unless specified otherwise or clear from contextto be directed to a singular form.

Also, although the disclosure has been shown and described with respectto one or more implementations, equivalent alterations and modificationswill occur to others skilled in the art based upon a reading andunderstanding of this specification and the annexed drawings. Thedisclosure includes all such modifications and alterations and islimited only by the scope of the following claims. In particular regardto the various functions performed by the above described components(e.g., elements, resources, etc.), the terms used to describe suchcomponents are intended to correspond, unless otherwise indicated, toany component which performs the specified function of the describedcomponent (e.g., that is functionally equivalent), even though notstructurally equivalent to the disclosed structure which performs thefunction in the herein illustrated exemplary implementations of thedisclosure. In addition, while a particular feature of the disclosuremay have been disclosed with respect to only one of severalimplementations, such feature may be combined with one or more otherfeatures of the other implementations as may be desired and advantageousfor any given or particular application. Furthermore, to the extent thatthe terms “includes”, “having”, “has”, “with”, or variants thereof areused in either the detailed description or the claims, such terms areintended to be inclusive in a manner similar to the term “comprising.”

The invention claimed is:
 1. A method, implemented on a computingdevice, comprising: searching a template to identify informationidentifiers comprised in the template and associated with informationfields of the template, the information identifiers associated withrespective types of user-based information; connecting to a socialnetwork by providing authorization information to the social networkusing an application programming interface (API); retrieving user-basedinformation corresponding to the types of user-based informationassociated with the information identifiers from a user profile of asingle individual identified in the social network using the API;generating an electronic document specific to the single individual bypopulating information fields of the template using the user-basedinformation; and providing, for display via a client-agnostic platform,the electronic document to one or more individuals associated with thesingle individual.
 2. The method of claim 1, further comprising makingaccessible the electronic document to the social network using the API.3. The method of claim 2, wherein making accessible the electronicdocument to the social network further comprises at least one of:posting the electronic document to a user stream in the social network;messaging the electronic document to one or more user connectionsassociated with the one or more individuals in the social network; ormaking the electronic document accessible to one or more userconnections in the social network.
 4. The method of claim 2, furthercomprising broadcasting a link to the electronic document over thesocial network using the API.
 5. The method of claim 1, wherein each ofthe information identifiers specifies a data type; and whereinretrieving user-based information from the user profile includessearching the user profile to identify the user-based information basedupon the user-based information being of the data type specified by theinformation identifiers.
 6. The method of claim 1, wherein generatingthe electronic document includes creating a resume.
 7. The method ofclaim 1, further comprising creating the template using the API.
 8. Themethod of claim 1, wherein generating the electronic document furtherincludes creating the electronic document in a format that provides forinteracting with the electronic document online without a client sideapplication specific to the format.
 9. The method of claim 1, furthercomprising filling a section of the template at a location within thetemplate indicated by the information identifiers with the user-basedinformation.
 10. The method of claim 1, wherein the user-basedinformation comprises at least one of: user-related identificationinformation; user-related contact information; user-related employmentinformation; user-related education information; user-related profileinformation; user-related activity information; a user-related document;a user-related image; or a user-related comment.
 11. The method of claim10, further comprising interacting with the social network to broadcastaccess to the electronic document over the social network.
 12. Themethod of claim 1, wherein the electronic document comprises at leastone of: word processor data; a spreadsheet data; a presentation data; animage editor data; a form data; an organizer application data; or anemail data.
 13. The method of claim 1, wherein the electronic documentcomprises open extensible markup language data.
 14. The method of claim1, wherein the information identifiers comprise at least one markup tag.15. The method of claim 1, wherein connecting to the social networkfurther comprises: interfacing with the social network; and identifyinga type of user-based information on the social network corresponding toone or more of the respective types of user-based information associatedwith the information identifiers.
 16. The method of claim 1, wherein theelectronic document is either a resume for the single individual or aletter to be sent by the single individual.
 17. A non-transitorycomputer readable device comprising instructions that when executedcause a computing device to: search a template created to identifyinformation identifiers comprised in the template and associated withinformation fields of the template, the information identifiersassociated with respective types of user-based information; connect to asocial network by providing authorization information to the socialnetwork using an application programming interface (API); retrieveuser-based information corresponding to the types of user-basedinformation associated with the information identifiers from a userprofile identified in the social network using the API; generate anelectronic document specific to a single individual by populatinginformation fields of the template using the user-based information; andprovide, for display via a client-agnostic platform, the electronicdocument to one or more individuals associated with the singleindividual.
 18. The non-transitory computer readable device of claim 17,wherein the electronic document is either a resume for the singleindividual or a letter to be sent by the single individual.
 19. Asystem, comprising: a memory device to store instructions; and one ormore processing device to execute the instructions stored in the memorydevice to: search a template created to identify information identifierscomprised in the template and associated with information fields of thetemplate, the information identifiers associated with respective typesof user-based information; connect to a social network by providingauthorization information to the social network using an applicationprogramming interface (API); retrieve user-based informationcorresponding to the types of user-based information associated with theinformation identifiers from a user profile of a single individualidentified in the social network using the API; generate an electronicdocument specific to the single individual by populating informationfields of the template using the user-based information; and provide,for display via a client-agnostic platform, the electronic document toone or more individuals associated with the single individual.
 20. Thesystem of claim 19, wherein the electronic document is either a resumefor the single individual or a letter to be sent by the singleindividual.